package com.ehotting.edsta.circuitDesign.generator.domain;

import java.io.Serializable;
import java.util.Date;

/**
 * 
 * @TableName ot_user
 */
public class OtUser implements Serializable {
    /**
     * 用户ID，主键
     */
    private Integer id;

    /**
     * 用户名，唯一
     */
    private String username;

    /**
     * 电子邮件地址
     */
    private String email;

    /**
     * 密码（实际项目中应加密存储）
     */
    private String password;

    /**
     * 名
     */
    private String first_name;

    /**
     * 姓
     */
    private String last_name;

    /**
     * 性别
     */
    private String gender;

    /**
     * 出生日期
     */
    private Date birthdate;

    /**
     * 电话号码
     */
    private String phone_number;

    /**
     * 地址
     */
    private String address;

    /**
     * 城市
     */
    private String city;

    /**
     * 州/省
     */
    private String state;

    /**
     * 国家
     */
    private String country;

    /**
     * 邮政编码
     */
    private String postal_code;

    /**
     * 个人简介
     */
    private String bio_text;

    /**
     * 头像URL
     */
    private String avatar_url;

    /**
     * 注册时间
     */
    private Date signup_date;

    /**
     * 最后登录时间
     */
    private Date last_login;

    /**
     * 账户是否激活
     */
    private Integer is_active;

    /**
     * 是否为管理员
     */
    private Integer is_admin;

    private static final long serialVersionUID = 1L;

    /**
     * 用户ID，主键
     */
    public Integer getId() {
        return id;
    }

    /**
     * 用户ID，主键
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 用户名，唯一
     */
    public String getUsername() {
        return username;
    }

    /**
     * 用户名，唯一
     */
    public void setUsername(String username) {
        this.username = username;
    }

    /**
     * 电子邮件地址
     */
    public String getEmail() {
        return email;
    }

    /**
     * 电子邮件地址
     */
    public void setEmail(String email) {
        this.email = email;
    }

    /**
     * 密码（实际项目中应加密存储）
     */
    public String getPassword() {
        return password;
    }

    /**
     * 密码（实际项目中应加密存储）
     */
    public void setPassword(String password) {
        this.password = password;
    }

    /**
     * 名
     */
    public String getFirst_name() {
        return first_name;
    }

    /**
     * 名
     */
    public void setFirst_name(String first_name) {
        this.first_name = first_name;
    }

    /**
     * 姓
     */
    public String getLast_name() {
        return last_name;
    }

    /**
     * 姓
     */
    public void setLast_name(String last_name) {
        this.last_name = last_name;
    }

    /**
     * 性别
     */
    public String getGender() {
        return gender;
    }

    /**
     * 性别
     */
    public void setGender(String gender) {
        this.gender = gender;
    }

    /**
     * 出生日期
     */
    public Date getBirthdate() {
        return birthdate;
    }

    /**
     * 出生日期
     */
    public void setBirthdate(Date birthdate) {
        this.birthdate = birthdate;
    }

    /**
     * 电话号码
     */
    public String getPhone_number() {
        return phone_number;
    }

    /**
     * 电话号码
     */
    public void setPhone_number(String phone_number) {
        this.phone_number = phone_number;
    }

    /**
     * 地址
     */
    public String getAddress() {
        return address;
    }

    /**
     * 地址
     */
    public void setAddress(String address) {
        this.address = address;
    }

    /**
     * 城市
     */
    public String getCity() {
        return city;
    }

    /**
     * 城市
     */
    public void setCity(String city) {
        this.city = city;
    }

    /**
     * 州/省
     */
    public String getState() {
        return state;
    }

    /**
     * 州/省
     */
    public void setState(String state) {
        this.state = state;
    }

    /**
     * 国家
     */
    public String getCountry() {
        return country;
    }

    /**
     * 国家
     */
    public void setCountry(String country) {
        this.country = country;
    }

    /**
     * 邮政编码
     */
    public String getPostal_code() {
        return postal_code;
    }

    /**
     * 邮政编码
     */
    public void setPostal_code(String postal_code) {
        this.postal_code = postal_code;
    }

    /**
     * 个人简介
     */
    public String getBio_text() {
        return bio_text;
    }

    /**
     * 个人简介
     */
    public void setBio_text(String bio_text) {
        this.bio_text = bio_text;
    }

    /**
     * 头像URL
     */
    public String getAvatar_url() {
        return avatar_url;
    }

    /**
     * 头像URL
     */
    public void setAvatar_url(String avatar_url) {
        this.avatar_url = avatar_url;
    }

    /**
     * 注册时间
     */
    public Date getSignup_date() {
        return signup_date;
    }

    /**
     * 注册时间
     */
    public void setSignup_date(Date signup_date) {
        this.signup_date = signup_date;
    }

    /**
     * 最后登录时间
     */
    public Date getLast_login() {
        return last_login;
    }

    /**
     * 最后登录时间
     */
    public void setLast_login(Date last_login) {
        this.last_login = last_login;
    }

    /**
     * 账户是否激活
     */
    public Integer getIs_active() {
        return is_active;
    }

    /**
     * 账户是否激活
     */
    public void setIs_active(Integer is_active) {
        this.is_active = is_active;
    }

    /**
     * 是否为管理员
     */
    public Integer getIs_admin() {
        return is_admin;
    }

    /**
     * 是否为管理员
     */
    public void setIs_admin(Integer is_admin) {
        this.is_admin = is_admin;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        OtUser other = (OtUser) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getUsername() == null ? other.getUsername() == null : this.getUsername().equals(other.getUsername()))
            && (this.getEmail() == null ? other.getEmail() == null : this.getEmail().equals(other.getEmail()))
            && (this.getPassword() == null ? other.getPassword() == null : this.getPassword().equals(other.getPassword()))
            && (this.getFirst_name() == null ? other.getFirst_name() == null : this.getFirst_name().equals(other.getFirst_name()))
            && (this.getLast_name() == null ? other.getLast_name() == null : this.getLast_name().equals(other.getLast_name()))
            && (this.getGender() == null ? other.getGender() == null : this.getGender().equals(other.getGender()))
            && (this.getBirthdate() == null ? other.getBirthdate() == null : this.getBirthdate().equals(other.getBirthdate()))
            && (this.getPhone_number() == null ? other.getPhone_number() == null : this.getPhone_number().equals(other.getPhone_number()))
            && (this.getAddress() == null ? other.getAddress() == null : this.getAddress().equals(other.getAddress()))
            && (this.getCity() == null ? other.getCity() == null : this.getCity().equals(other.getCity()))
            && (this.getState() == null ? other.getState() == null : this.getState().equals(other.getState()))
            && (this.getCountry() == null ? other.getCountry() == null : this.getCountry().equals(other.getCountry()))
            && (this.getPostal_code() == null ? other.getPostal_code() == null : this.getPostal_code().equals(other.getPostal_code()))
            && (this.getBio_text() == null ? other.getBio_text() == null : this.getBio_text().equals(other.getBio_text()))
            && (this.getAvatar_url() == null ? other.getAvatar_url() == null : this.getAvatar_url().equals(other.getAvatar_url()))
            && (this.getSignup_date() == null ? other.getSignup_date() == null : this.getSignup_date().equals(other.getSignup_date()))
            && (this.getLast_login() == null ? other.getLast_login() == null : this.getLast_login().equals(other.getLast_login()))
            && (this.getIs_active() == null ? other.getIs_active() == null : this.getIs_active().equals(other.getIs_active()))
            && (this.getIs_admin() == null ? other.getIs_admin() == null : this.getIs_admin().equals(other.getIs_admin()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getUsername() == null) ? 0 : getUsername().hashCode());
        result = prime * result + ((getEmail() == null) ? 0 : getEmail().hashCode());
        result = prime * result + ((getPassword() == null) ? 0 : getPassword().hashCode());
        result = prime * result + ((getFirst_name() == null) ? 0 : getFirst_name().hashCode());
        result = prime * result + ((getLast_name() == null) ? 0 : getLast_name().hashCode());
        result = prime * result + ((getGender() == null) ? 0 : getGender().hashCode());
        result = prime * result + ((getBirthdate() == null) ? 0 : getBirthdate().hashCode());
        result = prime * result + ((getPhone_number() == null) ? 0 : getPhone_number().hashCode());
        result = prime * result + ((getAddress() == null) ? 0 : getAddress().hashCode());
        result = prime * result + ((getCity() == null) ? 0 : getCity().hashCode());
        result = prime * result + ((getState() == null) ? 0 : getState().hashCode());
        result = prime * result + ((getCountry() == null) ? 0 : getCountry().hashCode());
        result = prime * result + ((getPostal_code() == null) ? 0 : getPostal_code().hashCode());
        result = prime * result + ((getBio_text() == null) ? 0 : getBio_text().hashCode());
        result = prime * result + ((getAvatar_url() == null) ? 0 : getAvatar_url().hashCode());
        result = prime * result + ((getSignup_date() == null) ? 0 : getSignup_date().hashCode());
        result = prime * result + ((getLast_login() == null) ? 0 : getLast_login().hashCode());
        result = prime * result + ((getIs_active() == null) ? 0 : getIs_active().hashCode());
        result = prime * result + ((getIs_admin() == null) ? 0 : getIs_admin().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", username=").append(username);
        sb.append(", email=").append(email);
        sb.append(", password=").append(password);
        sb.append(", first_name=").append(first_name);
        sb.append(", last_name=").append(last_name);
        sb.append(", gender=").append(gender);
        sb.append(", birthdate=").append(birthdate);
        sb.append(", phone_number=").append(phone_number);
        sb.append(", address=").append(address);
        sb.append(", city=").append(city);
        sb.append(", state=").append(state);
        sb.append(", country=").append(country);
        sb.append(", postal_code=").append(postal_code);
        sb.append(", bio_text=").append(bio_text);
        sb.append(", avatar_url=").append(avatar_url);
        sb.append(", signup_date=").append(signup_date);
        sb.append(", last_login=").append(last_login);
        sb.append(", is_active=").append(is_active);
        sb.append(", is_admin=").append(is_admin);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}